<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /*
      盈数 除去本身以外的一切正约数的和大于本身
      输出1-100的所有盈数
    */


    /**
      求 盈数  excessValue
      参数： n  1-n之间所有的盈数
      结果： 0 说明 1没有盈数 排除
            arr  代表 1- n之间的盈数
    */

    function excessValue(n) {
      var arr = [];
      // 如果n 为1就没有盈数
      if (n === 1) {
        return 0;
      }
      // 整个循环从 i = 2 开始
      for (var i = 2; i < n; i++) {
        var sum = 0;
        // 内层循环只需要判断到 i/2 就行 
        for (var j = 1; j <= i / 2; j++) {
          if (i % j === 0) {
            sum += j;
          }
        }
        // 如果 sum > i 就代表该数是盈数
        if (sum > i) {
          arr.push(i);
        }
      }
      return arr;
    }

    console.log(excessValue(100));
  </script>
</body>

</html>